home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / mac / Illustrator 6.0 SDK r1 Mac / AI Plugin Interface / AIPath.h < prev    next >
Text File  |  1995-12-21  |  2KB  |  118 lines

  1. /**
  2.  
  3.     AIPath.h
  4.     Copyright (c) 1995 Adobe Systems Incorporated.
  5.     All Rights Reserved
  6.  
  7.     Adobe Illustrator 6.0 Path Object Suite.
  8.  
  9.  **/
  10.  
  11. #ifndef __AIPath__
  12. #define __AIPath__
  13.  
  14.  
  15. /*******************************************************************************
  16.  **
  17.  **    Imports
  18.  **
  19.  **/
  20.  
  21. #include "AITypes.h"
  22. #include "AIArt.h"
  23. #include "AIFixedMath.h"
  24.  
  25.  
  26. #if Macintosh
  27.     #ifdef __cplusplus
  28.     extern "C" {
  29.     #endif
  30.     
  31.     #if PRAGMA_ALIGN_SUPPORTED
  32.     #pragma options align=mac68k
  33.     #endif
  34.     
  35.     #if PRAGMA_IMPORT_SUPPORTED
  36.     #pragma import on
  37.     #endif
  38. #endif
  39.  
  40.  
  41. /*******************************************************************************
  42.  **
  43.  **    Constants
  44.  **
  45.  **/
  46.  
  47. #define kAIPathSuite        "AI Path Suite"
  48. #define kAIPathVersion        2
  49.  
  50.  
  51. #define kMaxPathSegments        8191    /* Maximum number of segments in one path */
  52. #define kMaxTextPathSegments    67        /* Maximum number of segments in one text path */    
  53.  
  54.  
  55. #define kSegmentNotSelected            0
  56. #define kSegmentPointSelected        1
  57. #define kSegmentInSelected            2
  58. #define kSegmentOutSelected            3
  59. #define kSegmentInAndOutSelected    4
  60.  
  61.  
  62. #define kTooManySegmentsErr            'SEGM'
  63.  
  64.  
  65. /*******************************************************************************
  66.  **
  67.  **    Types
  68.  **
  69.  **/
  70.  
  71. typedef struct {
  72.     FixedPoint p, in, out;
  73.     Boolean corner;
  74. } AIPathSegment;
  75.  
  76.  
  77. /*******************************************************************************
  78.  **
  79.  **    Suite
  80.  **
  81.  **/
  82.  
  83. typedef struct {
  84.  
  85.     MACPASCAL FXErr (*GetPathSegmentCount) ( AIArtHandle path, short *count );
  86.     MACPASCAL FXErr (*SetPathSegmentCount) ( AIArtHandle path, short count );
  87.     MACPASCAL FXErr (*GetPathSegments) ( AIArtHandle path, short segNumber, short count, AIPathSegment *segment );
  88.     MACPASCAL FXErr (*SetPathSegments) ( AIArtHandle path, short segNumber, short count, AIPathSegment *segment );
  89.  
  90.     MACPASCAL FXErr (*GetPathClosed) ( AIArtHandle path, Boolean *closed );
  91.     MACPASCAL FXErr (*SetPathClosed) ( AIArtHandle path, Boolean closed );
  92.     MACPASCAL FXErr (*GetPathGuide) ( AIArtHandle path, Boolean *isGuide );
  93.     MACPASCAL FXErr (*SetPathGuide) ( AIArtHandle path, Boolean isGuide );
  94.  
  95.     MACPASCAL FXErr (*GetPathSegmentSelected)( AIArtHandle path, short segNumber, short *selected );
  96.  
  97.     MACPASCAL FXErr (*ReversePathSegments) ( AIArtHandle path );
  98.  
  99. } AIPathSuite;
  100.  
  101.  
  102. #if Macintosh
  103.     #if PRAGMA_IMPORT_SUPPORTED
  104.     #pragma import off
  105.     #endif
  106.     
  107.     #if PRAGMA_ALIGN_SUPPORTED
  108.     #pragma options align=reset
  109.     #endif
  110.     
  111.     #ifdef __cplusplus
  112.     }
  113.     #endif
  114. #endif
  115.  
  116.  
  117. #endif
  118.